﻿using System;
using System.IO;
using Skynet.CommonLibrary.ThreadRefreshTime.RefreshElement;

namespace Skynet.CommonLibrary.ThreadRefreshTime.Interface
{
    /// <summary>
    /// 刷新任务管理(按XML配置接口)
    /// </summary>
    ///<remarks>
    /// 作者：         李志强
    /// 开发时间：  2011-05-16
    /// 
    /// 修改：         李志强
    /// 内容：         增加AddTask 中返回任务编号
    /// 时间：         2011-05-25
    /// </remarks>
    public interface IRefreshTimeXmlManage : IRefreshTimerManage
    {
        /// <summary>
        /// 通过刷新元素实体转换成XML
        /// </summary>
        /// <param name="taskTimer">实体</param>
        /// <returns>XML字符串</returns>
       string RefreshTaskToXml(RefreshTaskXmlElement taskTimer);

       /// <summary>
       /// 根据配置文件 添加刷新元素
       /// </summary>
       /// <param name="xmlPath">xml路径</param>
       /// <param name="refreshAction">需要执行的方法</param>
       /// <returns>任务编号,如果执行方法为空则会返回 string.Empty</returns>
       string AddTask(string xmlPath, Action refreshAction);

       string AddTask(StringReader xml, Action refreshAction);
    }
}
